package com.zhang.goods.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhang.common.dto.SkuSearchDto;
import com.zhang.common.util.result.R;
import com.zhang.goods.dto.SkuInfoDto;
import com.zhang.goods.entity.SpuInfo;
import com.zhang.goods.dto.GoodsSaveDto;
import com.zhang.goods.dto.SpuSearchDto;
import com.zhang.goods.vo.ConfirmOrderSkuVo;
import com.zhang.goods.vo.SkuItemVo;

import java.util.List;
import java.util.Map;

public interface IGoodsService {


    /**
     * @param goodsSaveDto 商品保存
     * @return {@link R}
     */
    R goodsSave(GoodsSaveDto goodsSaveDto);

    Page<SpuInfo> getMySpuList(Integer pageNum, Integer pageSize, SpuSearchDto spuSearchDto);

    IPage getSkuList( SkuSearchDto skuSearchDto);

    void modifySku(SkuInfoDto skuInfoDto);

    /**
     * 获取spu的图集
     * @param spuId
     * @return {@link List}
     */
    List getSpuAtlasInfo(Long spuId);

    R goodsUp(Long spuId);


    SkuItemVo getSkuItem(Long skuId);

    List<ConfirmOrderSkuVo> getOrderConfirmSkuInfo(List<Long> skuIds);
}
